﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;

namespace Pakxel.Framework
{
  /// <summary>
  /// Clase que contiene las reglas de validacion para uso en donde se requiera una entrada de datos
  /// por parte del usuario.
  /// Basado en ejemplo de delegados del libro Manual de Referencia C# (Herbert Schildt)
  /// </summary>
  public sealed class Rules
  {
    private Regex regEx=null;

    public bool IsDigit(string CString)
    {
      var match = false;
      if (CString.Length > 0)
      {
        regEx = new Regex(@"^\d$", RegexOptions.IgnoreCase | RegexOptions.Singleline | RegexOptions.CultureInvariant);
        match = regEx.IsMatch(CString);
      }
      return match;
    }
    /// <summary>
    /// Proof of concept ...
    /// </summary>
    /// <param name="CString"></param>
    /// <returns></returns>
    public bool IsDummy(string CString)
    {
      return IsDigit(CString);
    }

    /// TODO : ADD Rules as needed
    /// 
    public bool IsNumeric(string CString)
    {
      var match = false;
      if (CString.Length > 0)
      {
         regEx = new Regex(@"^\d+$", RegexOptions.IgnoreCase | RegexOptions.Singleline | RegexOptions.CultureInvariant);
         match = regEx.IsMatch(CString); 
      }
       return match;
    }
  }
}
